﻿namespace User.Api.Helpers.WeixinPayV3.WxResult
{
    public class DoRefundResult
    {
        /// <summary>
        /// 成功时为0，其它为失败
        /// </summary>
        public string ResultCode { get; set; }

        /// <summary>
        /// 失败时为失败信息
        /// </summary>
        public string ResultMsg { get; set; }

        /// <summary>
        /// partner
        /// 商户号
        /// 商户号
        /// </summary>
        public string Partner { get; set; }

        /// <summary>
        /// transaction_id
        /// 财付通订单号
        /// 财付通交易号，28 位长的数值，其中前10 位为商户号，之后8 位为订单产生的日期，如20090415，最后10 位是流水号。
        /// </summary>
        public string TransactionId { get; set; }

        /// <summary>
        /// out_trade_no
        /// 商户订单号
        /// 商户系统内部的订单号
        /// </summary>
        public string OutTradeNo { get; set; }

        /// <summary>
        /// out_refund_no
        /// 商户退款单号
        /// 商户退款单号
        /// </summary>
        public string OutRefundNo { get; set; }

        /// <summary>
        /// refund_id
        /// 财付通退款单号
        /// 财付通退款单号
        /// </summary>
        public string RefundId { get; set; }

        /// <summary>
        /// refund_channel
        /// 退款渠道
        /// 退款渠道,0:退到财付通、1:退到银行
        /// </summary>
        public int RefundChannel { get; set; }

        /// <summary>
        /// refund_fee
        /// 退款金额
        /// 退款总金额,单位为分,可以做部分退款
        /// </summary>
        public int RefundFee { get; set; }

        /// <summary>
        /// refund_status
        /// 退款状态
        /// 4，10：退款成功。
        ///3，5，6：退款失败。
        ///8，9，11：退款处理中。
        ///1，2：未确定，需要商户原退款单号重新发起。
        ///7：转入代发，退款到银行发现用户的卡作废或
        ///   者冻结了，导致原路退款银行卡失败，资金回
        ///   流到商户的现金帐号，需要商户人工干预，通
        ///   过线下或者财付通转账的方式进行退款。
        /// </summary>
        public int RefundStatus { get; set; }

        /// <summary>
        /// recv_user_id
        /// 接收人帐号
        /// 转账退款接收退款的财付通帐号
        /// </summary>
        public string RecvUserId { get; set; }

        /// <summary>
        /// reccv_user_name
        /// 转账退款接收退款的姓名(需与接收退款的财
        /// 付通帐号绑定的姓名一致)
        /// </summary>
        public string RecvUserName { get; set; }
    }
}